/*
 * @Author: your name
 * @Date: 2021-07-09 14:18:01
 * @LastEditTime: 2021-07-09 14:30:38
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: /www/openapi-sdk-nodejs/config/webpack.config.js
 */
const path = require('path');

// Make sure any symlinks in the project folder are resolved:
// https://github.com/facebook/create-react-app/issues/637
const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
const CopyPlugin = require("copy-webpack-plugin");
console.log(path.resolve(__dirname, "../src"));

module.exports = {
  mode: 'development',
  // entry: {
  //   index: path.join(__dirname, '../src/index.js'),
  // },
  // output: {
  //   path: path.resolve(__dirname, "../dist"), // string (default)
  //   // 所有输出文件的目标路径
  //   // 必须是绝对路径（使用 Node.js 的 path 模块）
  //   filename: "[name].js", // string (default)
  //   chunkFilename: "[name].js",
  //   globalObject: "this", // 需要配置为 "this", 默认为 "window"
  // },
  // optimization: {
  //   minimize: true,
  //   minimizer: [
  //     new UglifyJSPlugin()
  //   ]
  // },
  plugins: [
    // new CopyPlugin({
    //   patterns: [
    //     {
    //       from: "src/service.js",
    //       to: "dist/",
    //     }
    //   ],
    // }),
    // new CopyPlugin({
    //   patterns: [
    //     {
    //       from: "src/index.js",
    //       to: "dist/",
    //       transform (content, absoluteFrom) {
    //         return UglifyJSPlugin.minify(content.toString()).code;;
    //       },
    //     },
    //   ],
    // }),

    new CopyPlugin([
      {
        from: path.resolve(__dirname, "../src/service.js"),
        to: path.resolve(__dirname, "../dist"),
      },
      {
        from: path.resolve(__dirname, "../src/index.js"),
        to: path.resolve(__dirname, "../dist"),
        // transform (content, path) {
        //   // return new UglifyJSPlugin(content);
        //   // console.log(content);
        //   return optimize(content);
        //   // return content;
        // },
      },
    ]),

  ],
  // module: {
  //   rules: [
  //     {
  //       test: /\.m?js$/,
  //       exclude: /node_modules/,
  //       use: {
  //         loader: 'babel-loader',
  //         options: {
  //           presets: [
  //             ['@babel/preset-env', { targets: "defaults" }]
  //           ]
  //         }
  //       }
  //     }
  //   ]
  // },
  node: {
    // module: "empty",
    // dgram: "empty",
    // dns: "mock",
    fs: "empty",
    // http2: "empty",
    net: "empty",
    tls: "empty",
    // child_process: "empty",
  },
};